﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Skynet.BusinessEntities
{
    [DataContract]
    [KnownType(typeof(BusinessEntities.TextQuestion))]
    public abstract class BaseQuestion
    {
        [DataMember]
        public Guid Id { get; set; }
        [DataMember]
        public Guid ExamId { get; set; }
        [DataMember]
        public Guid CustomerExamId { get; set; }
        [DataMember]
        public Guid CustomerQuestionId { get; set; }
        [DataMember]
        public string Title { get; set; }
        [DataMember]
        public string Category { get; set; }
        [DataMember]
        public LinkedList<BaseAlternative> Alternatives { get; set; }
        [DataMember]
        public ObjectState State { get; set; }
        [DataMember]
        public bool Review { get; set; }
        public BaseQuestion()
        {
            this.Alternatives = new LinkedList<BaseAlternative>();
            this.State = ObjectState.Unchanged;
        }
    }
}
